import path from 'path';
import {ConfigEnv, loadEnv, UserConfig} from 'vite';
import createVitePlugins from './vite'

const CWD = process.cwd();

// https://vitejs.dev/config/
export default ({mode, command}: ConfigEnv): UserConfig => {
    const {VITE_BASE_URL} = loadEnv(mode, CWD);
    const env = loadEnv(mode, process.cwd())

    return {
        base: VITE_BASE_URL,
        plugins: createVitePlugins(env, command === 'build'),
        resolve: {
            alias: {
                '@': path.resolve(__dirname, './src'),
                // 设置路径
                '~': path.resolve(__dirname, './'),
                // 设置别名
            },
            extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.vue']
        },
        css: {
            preprocessorOptions: {
                // less: {
                //     modifyVars: {
                //         hack: `true; @import (reference) "${path.resolve('src/assets/style/abl-flex.less')}";`,
                //     },
                //     math: 'strict',
                //     javascriptEnabled: true,
                // },
            },
        },

        // plugins: [
        //     vue(),
        //     vueJsx(),
        //     viteMockServe({
        //         mockPath: 'mock',
        //         enable: false
        //         // mockPath?: string;
        //         // configPath?: string;
        //         // ignore?: RegExp | ((fileName: string) => boolean);
        //         // watchFiles?: boolean;
        //         // logger?: boolean;
        //     }),
        //     svgLoader(),
        //     // ...
        //     // AutoImport({
        //     //     resolvers: [ElementPlusResolver()],
        //     // }),
        //     // Components({
        //     //     resolvers: [ElementPlusResolver()],
        //     // }),
        // ],
        // vite 相关配置
        server: {
            port: 3500,
            host: true,
            open: true,
        },
    };
};
